# 用字符串来存储最原始的球员信息
player_infos = """Carmelo Anthony,Portland Trail Blazers,SF; 
Anthony Davis,Los Angeles Lakers,PF;
LeBron James,Los Angeles Lakers,SF;
Kevin Durant,Brooklyn Nets,SF;
James Harden,Brooklyn Nets,PG;
Kyrie Irving,Brooklyn Nets,SG;
Damian Lillard,Portland Trail Blazers,PG"""

# 将原始字符串通过 split 方法以分号来切割,得到一个列表,并赋值给一个变量
player_infos_list = player_infos.split(';')
# 创建一个空字典,用于存储{球队:球员信息列表} 
team_dict = {}
# 遍历刚才切割得到的列表,每一个元素都是一个球员信息的字符串
for player_str in player_infos_list:
    # 将球员字符串通过逗号进行再次切割,得到一个列表,列表里面包含了一个球员的七个特征
    player = player_str.split(',')
    # 以下 3 行是通过列表的索引分别获取球员的特征信息
    player_name = player[0].strip()
    player_team = player[1].strip()
    player_position = player[2].strip()
    # 将球员信息构建为一个字典
    player_info_dic = {"name": player_name, "team": player_team, "position":player_position}
    # 首先判断球队在不在定义的 team_dict 里面,如果不在,就为 team_dict 增加一对键值对,键为球队,值为一个空列表
    if player_team not in team_dict:
      team_dict[player_team] = []
    # 然后将球员信息追加到这个列表里面,当循环走完，team_dict 里面就存储了所有的球队和球员信息
    team_dict[player_team].append(player_info_dic)

# team_dict 里面获取所有的球队信息,并拼成一个字符串
teams = '|'.join(list(team_dict.keys()))
# 通过 input 函数让用户输入需要查询的球队
try:
 team = input("请输入你要查询的球队%s:" % teams)
# 利用字典的键索引拿到该球队所有的球员信息列表
 team_info = team_dict[team]
# 打印表头
 print('+' + '-' * 67 + '+')
# 这里使用了字符串的 center 方法和字符串的格式化表达
 print("|%s|%s|%s|" % (
     'name'.center(25), 'team'.center(30),'position'.center(10)
))
 print('+' + '-' * 67 + '+')
# 遍历球员信息列表,格式化打印每个球员信息
 for player_info in team_info:
    print("|%s|%s|%s|" % 
	  ( player_info['name'].center(25),
      player_info['team'].center(30), 
      player_info['position'].center(10),
    ))
 print('+' + '-' * 67 + '+')
except KeyError:
 print("输入的球队不存在,请重新输入")